#ifndef _LNQUEUE_H_
#define _LNQUEUE_H_
#include "declare.h"
#include <stdio.h>
#include <stdlib.h>

struct Node;

typedef struct Node * PNode;

struct Node
{
    ELEMTYPE info;
    PNode link;
};

struct stQueue {
    PNode head;
    PNode rear;
    SIZE_T length;
};

typedef struct stQueue * PLQueue;

PLQueue createQueue();
int enqueue(PLQueue queue, ELEMTYPE x);
int dequeue(PLQueue queue);
int frontQueue(PLQueue queue, ELEMTYPE *x);
int length(PLQueue queue);
int destroyQueue(PLQueue *queue);
int emptyQueue(PLQueue queue);
int printQueue(PLQueue queue);
#endif
